<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Marwa Mabrouk (ESRI) -->
<schema targetNamespace="http://www.opengis.net/xls" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xls="http://www.opengis.net/xls" elementFormDefault="qualified" version="1.1.1">
<!--
 Copyright (c) 2006,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
 To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
-->
	<import namespace="http://www.opengis.net/gml" schemaLocation="gml4xls.xsd"/>
	<include schemaLocation="XLS.xsd"/>
	<!-- ======================================================================================
				Route Service Basic
	========================================================================================= -->
	<element name="DetermineRouteRequest" type="xls:DetermineRouteRequestType" substitutionGroup="xls:_RequestParameters">
		<annotation>
			<documentation>Specifies the Determine Route request parameters.</documentation>
		</annotation>
	</element>
	<complexType name="DetermineRouteRequestType">
		<annotation>
			<documentation>Defines the Determine Route request parameters.</documentation>
		</annotation>
		<complexContent>
			<extension base="xls:AbstractRequestParametersType">
				<sequence>
					<choice>
						<element ref="xls:RouteHandle">
							<annotation>
								<documentation>Reference to a proviously determined route stored at the Route Determination Service server.</documentation>
							</annotation>
						</element>
						<element ref="xls:RoutePlan"/>
					</choice>
					<element ref="xls:RouteInstructionsRequest" minOccurs="0">
						<annotation>
							<documentation>Request parameters for turn-by-turn route directions and advisories formatted for presentation.</documentation>
						</annotation>
					</element>
					<element ref="xls:RouteGeometryRequest" minOccurs="0">
						<annotation>
							<documentation>Request parameters for route geometry.</documentation>
						</annotation>
					</element>
					<element ref="xls:RouteMapRequest" minOccurs="0"/>
				</sequence>
				<attribute name="provideRouteHandle" type="boolean" use="optional" default="false">
					<annotation>
						<documentation>Requests the return of a route handle.</documentation>
					</annotation>
				</attribute>
				<attribute name="distanceUnit" type="xls:DistanceUnitType" use="optional" default="M">
					<annotation>
						<documentation>Specifies the unit for measuring distance.</documentation>
					</annotation>
				</attribute>
			</extension>
		</complexContent>
	</complexType>
	<element name="RoutePlan" type="xls:RoutePlanType">
		<annotation>
			<documentation>The criteria upon which a route is determined.</documentation>
		</annotation>
	</element>
	<complexType name="RoutePlanType">
		<annotation>
			<documentation>Defines the criteria upon which a route is determined.</documentation>
		</annotation>
		<sequence>
			<element ref="xls:RoutePreference"/>
			<element ref="xls:WayPointList"/>
			<element ref="xls:AvoidList" minOccurs="0"/>
		</sequence>
		<attribute name="useRealTimeTraffic" type="boolean" use="optional" default="false">
			<annotation>
				<documentation>Specifies whether to use real time traffic information when determining the best route.</documentation>
			</annotation>
		</attribute>
		<attribute name="expectedStartTime" type="dateTime" use="optional">
			<annotation>
				<documentation>Specifies the date and time at which travel is expected to begin.  Specified in the format YYYY-MM-DD HH:MM.  Defaults to current date and time.</documentation>
			</annotation>
		</attribute>
		<attribute name="expectedEndTime" type="dateTime" use="optional">
			<annotation>
				<documentation>Specifies the date and time at which travel is expected to end.  The format for the end time is specified as Duration</documentation>
			</annotation>
		</attribute>
	</complexType>
	<element name="AvoidList" type="xls:AvoidListType">
		<annotation>
			<documentation>The list of areas, locations, and types of features in which the route should avoid passing through.</documentation>
		</annotation>
	</element>
	<complexType name="AvoidListType">
		<annotation>
			<documentation>Defines the list of areas, locations, and types of features in which the route should avoid passing through.</documentation>
		</annotation>
		<sequence>
			<element ref="xls:AOI" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>List of geographic areas to avoid.</documentation>
				</annotation>
			</element>
			<element ref="xls:_Location" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>List of locations to avoid.</documentation>
				</annotation>
			</element>
			<element ref="xls:AvoidFeature" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="RouteMapRequest" type="xls:RouteMapRequestType">
		<annotation>
			<documentation>The request parameters for route maps.</documentation>
		</annotation>
	</element>
	<complexType name="RouteMapRequestType">
		<annotation>
			<documentation>Defines the request parameters for route maps.</documentation>
		</annotation>
		<sequence>
			<element name="Output" type="xls:RouteMapOutputType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="RouteMapOutputType">
		<annotation>
			<documentation>Defines the rendered route map output parameters.</documentation>
		</annotation>
		<sequence>
			<element name="BBoxContext" type="gml:EnvelopeType" minOccurs="0">
				<annotation>
					<documentation>Rectangular area to be displayed in the rendered map.  If not specified, defaults to full route.</documentation>
				</annotation>
				<!-- type="xls:BoxType" -->
			</element>
		</sequence>
		<attribute name="width" type="nonNegativeInteger">
			<annotation>
				<documentation>pixel width of the resulting map</documentation>
			</annotation>
		</attribute>
		<attribute name="height" type="nonNegativeInteger">
			<annotation>
				<documentation>pixel height of the resulting map</documentation>
			</annotation>
		</attribute>
		<attribute name="format" type="string">
			<annotation>
				<documentation>mime type describing the encoding</documentation>
			</annotation>
		</attribute>
		<attribute name="BGcolor" type="string" use="optional"/>
		<attribute name="transparent" type="boolean" use="optional"/>
		<attribute name="style" type="xls:RouteMapStyleType" use="optional"/>
	</complexType>
	<simpleType name="RouteMapStyleType">
		<annotation>
			<documentation>A route map can be either an overview or a maneuver</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="Overview">
				<annotation>
					<documentation>Used to describe the map showing the full route</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Maneuver">
				<annotation>
					<documentation>Used to describe the map showing a particular maneuver (often the maneuver corresponds to a single instruction)</documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>
	<element name="RouteInstructionsRequest" type="xls:RouteInstructionsRequestType">
		<annotation>
			<documentation>The request parameters for turn-by-turn route instructions and travel advisories formatted for presentation.</documentation>
		</annotation>
	</element>
	<complexType name="RouteInstructionsRequestType">
		<annotation>
			<documentation>Defines the request parameters for turn-by-turn route instructions and travel advisories formatted for presentation.</documentation>
		</annotation>
		<attribute name="format" type="string" use="optional" default="text/plain">
			<annotation>
				<documentation>The preferred format of the route instructions, specified as a mime type.</documentation>
			</annotation>
		</attribute>
		<attribute name="provideGeometry" type="boolean" use="optional" default="false"/>
		<attribute name="provideBoundingBox" type="boolean" use="optional" default="false"/>
	</complexType>
	<element name="RouteGeometryRequest" type="xls:RouteGeometryRequestType">
		<annotation>
			<documentation>The request parameters for route geometry.</documentation>
		</annotation>
	</element>
	<complexType name="RouteGeometryRequestType">
		<annotation>
			<documentation>Defines the request parameters for route geometry.</documentation>
		</annotation>
		<sequence>
			<element name="BoundingBox" type="gml:EnvelopeType" minOccurs="0">
				<annotation>
					<documentation>Rectangular area of route for which the geometry is requested.  If not specified, defaults to full route.</documentation>
				</annotation>
				<!-- type="xls:BoxType" -->
			</element>
		</sequence>
		<attribute name="scale" type="positiveInteger" use="optional" default="1">
			<annotation>
				<documentation>Maximum scale at which the route will be displayed. Expressed as a ratio of world units to a device unit.  For example 1:50000 would be specified as 50000.</documentation>
			</annotation>
		</attribute>
		<attribute name="provideStartingPortion" type="boolean" use="optional" default="false">
			<annotation>
				<documentation>If true, return the geometry of the starting portion of the route contained within the specified bounding area, up to the specified maximum number of points.  If false, return the geometry of the complete route contained within the specified area,  reducing the accuracy of the geometry as necessary to not exceed the specified maximum number of points.</documentation>
			</annotation>
		</attribute>
		<attribute name="maxPoints" type="positiveInteger" use="optional" default="100">
			<annotation>
				<documentation>Maximum number of geometric points to return.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<!-- ===================================================================================
			Response 
	====================================================================================== -->
	<element name="DetermineRouteResponse" type="xls:DetermineRouteResponseType" substitutionGroup="xls:_ResponseParameters">
		<annotation>
			<documentation>Specifies the Determine Route response parameters.</documentation>
		</annotation>
	</element>
	<complexType name="DetermineRouteResponseType">
		<annotation>
			<documentation>Defines the Determine Route response parameters.</documentation>
		</annotation>
		<complexContent>
			<extension base="xls:AbstractResponseParametersType">
				<sequence>
					<element ref="xls:RouteHandle" minOccurs="0">
						<annotation>
							<documentation>Reference to the route stored at the Route Determination Service server.</documentation>
						</annotation>
					</element>
					<element ref="xls:RouteSummary">
						<annotation>
							<documentation>Response for requested route summary.</documentation>
						</annotation>
					</element>
					<element ref="xls:RouteGeometry" minOccurs="0">
						<annotation>
							<documentation>Response for requested route geometry.</documentation>
						</annotation>
					</element>
					<element ref="xls:RouteInstructionsList" minOccurs="0">
						<annotation>
							<documentation>Response for requested route instructions.</documentation>
						</annotation>
					</element>
					<element ref="xls:RouteMap" minOccurs="0" maxOccurs="unbounded">
						<annotation>
							<documentation>Response list for requested route maps.</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="RouteMap" type="xls:RouteMapType">
		<annotation>
			<documentation>A route map.</documentation>
		</annotation>
	</element>
	<complexType name="RouteMapType">
		<annotation>
			<documentation>Defines a route map.</documentation>
		</annotation>
		<complexContent>
			<extension base="xls:MapType">
				<attribute name="description" type="string">
					<annotation>
						<documentation>Allows the route instruction to be matched with a RouteMapType. For example "maneuver 1"</documentation>
					</annotation>
				</attribute>
			</extension>
		</complexContent>
	</complexType>
	<element name="AvoidFeature" type="xls:AvoidFeatureType">
		<annotation>
			<documentation>Type of feature to avoid when determining the route.</documentation>
		</annotation>
	</element>
	<simpleType name="AvoidFeatureType">
		<annotation>
			<documentation>Enumeration of types of features to avoid when determining the route.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="Highway">
				<annotation>
					<documentation>Minimize the use of highways.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Tollway">
				<annotation>
					<documentation>Minimize tolls.</documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>
	<simpleType name="RoutePreferenceType">
		<annotation>
			<documentation>Enumeration of preferences to be taken into consideration when determining the route.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="Fastest">
				<annotation>
					<documentation>Minimize the travel time by vehicle.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Shortest">
				<annotation>
					<documentation>Minimize the travel distance by vehicle.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Pedestrian">
				<annotation>
					<documentation>Best route by foot.</documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>
	<element name="RoutePreference" type="xls:RoutePreferenceType">
		<annotation>
			<documentation>Preference to be taken into consideration when determining the route.</documentation>
		</annotation>
	</element>
</schema>
